/*
 * 官网地站:http://www.ShareSDK.cn
 * 技术支持QQ: 4006852216
 * 官方微信:ShareSDK   （如果发布新版本的话，我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题，也可以通过微信与我们取得联系，我们将会在24小时内给予回复）
 *
 * Copyright (c) 2013年 ShareSDK.cn. All rights reserved.
 */

package com.zj.joke;

import java.util.HashMap;

import android.os.Handler;
import android.os.Message;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;

/**
 * OneKeyShareCallback是快捷分享功能的一个“外部回调”示例。 演示了如何通过添加extra的方法，将快捷分享的分享结果回调到
 * 外面来做自定义处理。
 */
public class OneKeyShareCallback implements PlatformActionListener {
	private Handler handler;
	public static final int SUCCEED = 2000;
	public static final int ERROR = 2001;
	public static final int CANCEL = 2002;

	public OneKeyShareCallback(Handler handler) {
		this.handler = handler;
	}

	public void onComplete(Platform plat, int action,
			HashMap<String, Object> res) {
		System.out.println(res.toString());
		if (handler != null) {
			Message message = handler.obtainMessage();
			message.what = SUCCEED;
			message.obj = res;
			handler.sendMessage(message);
		}
	}

	public void onError(Platform plat, int action, Throwable t) {
		t.printStackTrace();
		if (handler != null) {
			Message message = handler.obtainMessage();
			System.out.println(t.toString());
			System.out.println(plat.getName());
			if ("QQ".equals(plat.getName())) {
				message.what = SUCCEED;
			} else {
				message.what = ERROR;
			}
			handler.sendMessage(message);
		}
	}

	public void onCancel(Platform plat, int action) {
		// 在这里添加取消分享的处理代码
		if (handler != null) {
			Message message = handler.obtainMessage();
			message.what = CANCEL;
			handler.sendMessage(message);
		}
	}

}
